#ifndef _BUS_Header_
#define _BUS_Header_

#include <linux/device.h>

struct zl_device {
    int idVendor, idProduct;

    unsigned long phys;
    int irq;
    char *name;

    struct device dev;
};

struct zl_driver {
    int idVendor, idProduct;
    struct device_driver drv;
};

int zl_device_register(struct zl_device *dev);
int zl_device_unregister(struct zl_device *dev);
int zl_driver_register(struct zl_driver *drv);
int zl_driver_unregister(struct zl_driver *drv);

#endif /* _BUS_Header_ */
